module.exports = function(grunt){

    // 项目配置
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        clean: {
            builda: {
                src:['<%= pkg.mid %>/css/<%= pkg.cssName %>.min.css', '<%= pkg.mid %>/js/compress/<%= pkg.cssName %>.min.js']
            }
        },
        autoprefixer: {
            builda: {
                files: {
                    "<%= pkg.mid %>/css/<%= pkg.cssName %>.css": ["<%= pkg.mid %>/css/<%= pkg.cssName %>.css"]
                }
            },
        },
        csscomb: {
            builda: {
                files: {
                    "<%= pkg.mid %>/css/<%= pkg.cssName %>.css": ["<%= pkg.mid %>/css/<%= pkg.cssName %>.css"]
                }
            },
        },
        cssmin: {
            options: {
                //添加banner
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
            },
            builda: {
                options: {
                    //添加footer
                    footer:'\n/*! <%= pkg.name %> 最后修改于： <%= grunt.template.today("yyyy-mm-dd") %> */'
                },
                files: {
                    "<%= pkg.mid %>/css/<%= pkg.cssName %>.min.css": ["<%= pkg.mid %>/css/<%= pkg.cssName %>.css"]
                }
            }
        },
        jshint: {
            builda: {
                options: {
                    //大括号包裹
                    curly: true,
                    //对于简单类型，使用===和!==，而不是==和!=
                    eqeqeq: false,
                    //对于首字母大写的函数（声明的类），强制使用new
                    newcap: true,
                    //禁用arguments.caller和arguments.callee
                    noarg: true,
                    //对于属性使用aaa.bbb而不是aaa['bbb']
                    sub: true,
                    //查找所有未定义变量
                    undef: false,
                    //查找类似与if(a = 0)这样的代码
                    boss: false,
                    //指定运行环境为node.js
                    node: true   
                },
                files: {
                    src: ['<%= pkg.mid %>/js/<%= pkg.jsName %>.js']
                }
            }
        },
        uglify: {
            options: {
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'//添加banner
            },
            builda: {
                options: {
                    //不混淆变量名
                    mangle: false, 
                    //不删除注释，还可以为 false（删除全部注释），some（保留@preserve @license @cc_on等注释）
                    preserveComments: false, 
                    //添加footer
                    footer:'\n/*! <%= pkg.name %> 最后修改于： <%= grunt.template.today("yyyy-mm-dd") %> */'
                },
                files: {
                    '<%= pkg.mid %>/js/compress/<%= pkg.jsName %>.min.js': ['<%= pkg.mid %>/js/<%= pkg.jsName %>.js']
                }
            }
        }
    });

    // 加载插件
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-cssmin');
    grunt.loadNpmTasks('grunt-autoprefixer');
    grunt.loadNpmTasks('grunt-csscomb');
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-jshint');

    // 默认任务
    grunt.registerTask('default', ['clean:builda', 'autoprefixer:builda', 'csscomb:builda', 'cssmin:builda', 'uglify:builda']);
}